﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="The !db, !dc, !dd, !dp, !dq, !du, and !dw extensions display data at the specified physical address on the target computer.These extension commands should not be confused with the d* (Display Memory) command, or with the !ntsdexts.dp extension command."/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>!db, !dc, !dd, !dp, !dq, !du, !dw</title>

<meta name="MS-HAID" content="r26_exts_kernel_A_cfc39aa4-b8b1-4ff0-b867-3f0a6b9a1c82.xml"/>


<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(2312);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/_db___dc___dd___dp___dq___du___dw.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><A href="_cpuinfo.htm" title="Previous topic"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_n.gif" border="0"></a><A href="_dbgprint.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
<A href="introduction6.htm">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</A> &gt; <A href="debugger_reference.htm">Debugger Reference</A> &gt; <A href="debugger_commands.htm">Debugger Commands</A> &gt; <A href="kernel_mode_extensions.htm">Kernel-Mode Extension Commands</A> &gt; </div>
	<div id="winchm_template_title">!db, !dc, !dd, !dp, !dq, !du, !dw</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>The <b>!db</b>, <b>!dc</b>, <b>!dd</b>, <b>!dp</b>, <b>!dq</b>, <b>!du</b>, and <b>!dw</b> extensions display data at the specified physical address on the target computer.</p>
<p>These extension commands should not be confused with the <a href="#Bookmark1985"><b>d* (Display Memory)</b></a> command, or with the <a href="#Bookmark2475"><b>!ntsdexts.dp</b></a> extension command.</p>
<pre class="syntax"><b>!db </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!dc </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!dd </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!dp </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!dq </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!du </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
<b>!dw </b>[<i>Caching</i>] [<b>-m</b>] [<i>PhysicalAddress</i>] [<b>L</b> <i>Size</i>] 
</pre>
<h2><a id="ddk__d__dbg"></a><a id="DDK__D__DBG"></a>Parameters</h2>
<p></p>
<dl>
<dt><a id="_______Caching______"></a><a id="_______caching______"></a><a id="_______CACHING______"></a>       <i>Caching</i>      </dt>
<dd>
<p>Can be any one of the following values. The <i>Caching</i> value must be surrounded by square brackets:  </p>
<p></p>
<dl>
<dt><a id="_c_"></a><a id="_C_"></a><b>[c]</b></dt>
<dd>
<p>Causes this extension to read from cached memory.</p>
</dd>
<dt><a id="_uc_"></a><a id="_UC_"></a><b>[uc]</b></dt>
<dd>
<p>Causes this extension to read from uncached memory.</p>
</dd>
<dt><a id="_wc_"></a><a id="_WC_"></a><b>[wc]</b></dt>
<dd>
<p>Causes this extension to read from write-combined memory.</p>
</dd>
</dl>
</dd>
<dt><a id="_______-m______"></a><a id="_______-M______"></a>       <b>-m</b>      </dt>
<dd>
<p>Causes memory to be read one unit at a time. For example, <b>!db -m</b> reads memory in 8-bit chunks and <b>!dw -m</b> reads memory in 16-bit chunks. If your hardware does not support 32-bit physical memory reads, it may be necessary to use the <b>-m</b> option. This option does not affect the length or appearance of the display -- it only affects how the memory is accessed.</p>
</dd>
<dt><a id="_______PhysicalAddress______"></a><a id="_______physicaladdress______"></a><a id="_______PHYSICALADDRESS______"></a>       <i>PhysicalAddress</i>      </dt>
<dd>
<p>Specifies the first physical address to be displayed, in hexadecimal format. If this is omitted the first time this command is used, the address defaults to zero. If this is omitted on a subsequent use, the display will begin where the last display ended.</p>
</dd>
<dt><a id="_______L_______Size______"></a><a id="_______l_______size______"></a><a id="_______L_______SIZE______"></a><b>       L</b><b>       </b><i>Size</i>      </dt>
<dd>
<p>Specifies the number of chunks of memory to display. The size of a chunk is determined by the precise extension used.</p>
</dd>
</dl>
<h3><a id="DLL"></a><a id="dll"></a>DLL</h3>
<table>
<tr>
<td>
<p><b>Windows 2000</b></p>
</td>
<td>
<p>
<dl>
<dt>
          Kext.dll
          </dt>
<dt>Kdextx86.dll
          </dt>
</dl>
</p>
</td>
</tr>
<tr>
<td>
<p><b>Windows XP and later</b></p>
</td>
<td>
<p>
          Kext.dll
         </p>
</td>
</tr>
</table>
<p> </p>
<h3><a id="Additional_Information"></a><a id="additional_information"></a><a id="ADDITIONAL_INFORMATION"></a>Additional Information</h3>
<p>To write to physical memory, use the <a href="#Bookmark2333"><b>!e*</b></a> extensions. For an overview of memory manipulation and a description of other memory-related commands, see <a href="#Bookmark1360">Reading and Writing Memory</a>.</p>
<h2>Remarks</h2>
<p>These extensions each display physical memory, but their display formats and default length differ:</p>
<ul>
<li>
<p>The <b>!db</b> extension displays hexadecimal bytes and their ASCII character equivalents. The default length is 128 bytes.</p>
</li>
<li>
<p>The <b>!dc</b> extension displays DWORD values and their ASCII character equivalents. The default length is 32 DWORDs (128 total bytes).</p>
</li>
<li>
<p>The <b>!dd</b> extension displays DWORD values. The default length is 32 DWORDs (128 total bytes).</p>
</li>
<li>
<p>The <b>!dp</b> extension displays ULONG_PTR values. These are either 32-bit or 64-bit words, depending on the instruction size. The default length is 128 total bytes.</p>
</li>
<li>
<p>The <b>!dq</b> extension displays ULONG64_PTR values. These are 32-bit words. The default length is 128 total bytes.</p>
</li>
<li>
<p>The <b>!du</b> extension displays UNICODE characters. The default length is 16 characters (32 total bytes), or until a NULL character is encountered. </p>
</li>
<li>
<p>The <b>!dw</b> extension displays WORD values. The default length is 64 DWORDs (128 total bytes).</p>
</li>
</ul>
<p>Consequently, using two of these extensions that are distinct with the same value of <i>Size</i> will most likely result in a difference in the total amount of memory displayed. For example, using the command <b>!db L 32</b> results in 32 bytes being displayed (as hexadecimal bytes), whereas the command <b>!dd L 32</b> results in 128 bytes being displayed (as DWORD values).</p>
<p>Here is an example in which the caching attribute flag is needed:</p>
<pre class="syntax" xml:space="preserve"><code>kd&gt; !dc e9000
physical memory read at e9000 failed
If you know the caching attributes used for the memory,
try specifying [c], [uc] or [wc], as in !dd [c] &lt;params&gt;.
WARNING: Incorrect use of these flags will cause unpredictable
processor corruption. This may immediately (or at any time in
the future until reboot) result in a system hang, incorrect data
being displayed or other strange crashes and corruption.

kd&gt; !dc [c] e9000
#   e9000 000ea002 000ea002 000ea002 000ea002 ................
#   e9010 000ea002 000ea002 000ea002 000ea002 ................</code></pre></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
